# 导包
from time import sleep

from selenium import webdriver

# 获取浏览器驱动对象
driver = webdriver.Chrome()
## 最大化浏览器
driver.maximize_window()
## 隐式等待
driver.implicitly_wait(10)

driver.get("https://demo.ruoyi.vip/index")
sleep(5)
driver.find_element_by_xpath("//*[text()='系统管理']").click()
driver.find_element_by_xpath("//*[text()='用户管理']").click()

# 用户管理：进入
driver.switch_to.frame(driver.find_element_by_css_selector('[src="/system/user"]'))
# 点击新增按钮
driver.find_element_by_css_selector('[onclick="$.operate.addTab()"]').click()
# 用户管理：退出
driver.switch_to.default_content()

# 用户管理：点击切换
driver.find_element_by_css_selector('.content-tabs [data-id="/system/user"]').click()
# 用户管理：进入
driver.switch_to.frame(driver.find_element_by_css_selector('[src="/system/user"]'))
# 点击编辑按钮
driver.find_element_by_css_selector("""[onclick="$.operate.editTab('2')"]""").click()
# 用户管理：退出
driver.switch_to.default_content()

# 新增页面：进入
driver.find_element_by_css_selector('.content-tabs [data-id="/system/user/add"]').click()
driver.switch_to.frame(driver.find_element_by_css_selector('[src="/system/user/add"]'))
"""
    目标：为什么要切换frame表单
    
    需求：
        1. 打开注册实例.html
        2. 填写主页面 页面信息
        3. 填写注册A 页面信息
        4. 填写注册B 页面信息
"""
"""填写主页面"""
# 用户名
driver.find_element_by_css_selector('[name="userName"]').send_keys("admin")
# 密码
driver.find_element_by_css_selector("#password").send_keys("admin")
# 电话
driver.find_element_by_css_selector("#phonenumber").send_keys("18611112222")
# 邮件
driver.find_element_by_css_selector("#email").send_keys("123@qq.com")
sleep(5)

# 新增页面：退出
driver.switch_to.default_content()

"""填写注册A"""
# 切换到编辑页面
driver.find_element_by_css_selector('.content-tabs [data-id="/system/user/edit/2"]').click()
driver.switch_to.frame(driver.find_element_by_css_selector('[src="/system/user/edit/2"]'))
# 用户名
driver.find_element_by_css_selector('[name="userName"]').send_keys("admin")
# 密码：编辑时没有密码
# driver.find_element_by_css_selector("#password").send_keys("admin")
# 电话
driver.find_element_by_css_selector("#phonenumber").send_keys("18611112222")
# 邮件
driver.find_element_by_css_selector("#email").send_keys("123@qq.com")
sleep(5)
# 编辑页面：退出
driver.switch_to.default_content()

"""填写注册B"""
# 新增页面：进入
driver.find_element_by_css_selector('.content-tabs [data-id="/system/user/add"]').click()
driver.switch_to.frame(driver.find_element_by_css_selector('[src="/system/user/add"]'))
# 用户名
driver.find_element_by_css_selector('[name="userName"]').send_keys("admin")
# 密码
driver.find_element_by_css_selector("#password").send_keys("admin")
# 电话
driver.find_element_by_css_selector("#phonenumber").send_keys("18611112222")
# 邮件
driver.find_element_by_css_selector("#email").send_keys("123@qq.com")
sleep(5)
# 编辑页面：退出
driver.switch_to.default_content()

# 暂停3秒
sleep(3)

# 关闭浏览器驱动对象
driver.close()
